#pragma once
#include "TypeDefs.h"
#include "IBlockTemplate.h"
#include <string>
using namespace std;
class BlockTemplate : public IBlockTemplate
{
public:
	BlockTemplate(int nID, TextureIndex textureIndex);
	BlockTemplate(int nID, uint textureName, int textureIndex);
	virtual ~BlockTemplate(void);
	virtual const vector2 &GetTextureUV(uint side) const;
	virtual uint GetTextureSubIndex(uint side);
	virtual uint GetID() ;
	virtual uint GetTextureName();
	virtual uint GetRenderType();
	virtual int OnRightClick();
	virtual int OnLeftClick();
	virtual string GetInternalBlockName();
	virtual ItemStack OnItemize();
	virtual MultiTextureIndex &GetTextureIndex();
protected:
	char m_cMetaData;
	uint m_nBlockID;
	MultiTextureIndex m_textureIndices;
};

